Imports System.Data
Imports CrystalDecisions.CrystalReports.Engine

Partial Class Capt_PermisoFondeoReporte
  Inherits System.Web.UI.Page

  Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load

    Try
      Dim reporte As New ReportDocument()
      ' Detalle del documento
      reporte.Load(Server.MapPath("~\Documentos\Capt_PermisoFondeo\Reporte\rptCapt_PermisoFondeo.rpt"))

      'Datos encabezado
      Dim docCapt_PermisoFondeo As New DataAccesCapt_PermisoFondeo()
      Dim Capt_PermisoFondeoDetalle As New DataSet("DetalleDocumento")
      Capt_PermisoFondeoDetalle = docCapt_PermisoFondeo.Capt_PermisoFondeo_DetalleXML(CInt(Request.QueryString("nidDocumento")))
	  Capt_PermisoFondeoDetalle.Tables(0).TableName = "Encabezado"
	  Capt_PermisoFondeoDetalle.Tables(1).TableName = "DetalleDocumento"
	  Capt_PermisoFondeoDetalle.Tables(2).TableName = "Anexos"
	  Capt_PermisoFondeoDetalle.Tables(3).TableName = "Incidencias"
	  
	  Dim tEncabezado As DataTable=Capt_PermisoFondeoDetalle.Tables(0)
	  Dim tDetalle As DataTable=Capt_PermisoFondeoDetalle.Tables(1)
	  Dim tAnexos As DataTable=Capt_PermisoFondeoDetalle.Tables(2)
	  Dim tIncidencias As DataTable=Capt_PermisoFondeoDetalle.Tables(3)
	  
      reporte.SetParameterValue("pCodigo", tEncabezado.Rows(0)("CODIGO"))
      reporte.SetParameterValue("pFechaSolicitud", CDate(tEncabezado.Rows(0)("FECHACREACION")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pEmisor", tEncabezado.Rows(0)("NOMBRE"))

      'Detalle del documento
	  reporte.SetParameterValue("pnid", tDetalle.Rows(0)("nid").ToString)
      reporte.SetParameterValue("pnidDocumento", tDetalle.Rows(0)("nidDocumento").ToString)
      reporte.SetParameterValue("pnidAvisoArribo", tDetalle.Rows(0)("nidAvisoArribo").ToString)
      reporte.SetParameterValue("pnombreBuque", tDetalle.Rows(0)("nombreBuque").ToString)
      reporte.SetParameterValue("pbandera", tDetalle.Rows(0)("bandera").ToString)
      reporte.SetParameterValue("pcalado_Proa", tDetalle.Rows(0)("calado_Proa").ToString)
      reporte.SetParameterValue("pcalado_Popa", tDetalle.Rows(0)("calado_Popa").ToString)
      reporte.SetParameterValue("pETA", CDate(tDetalle.Rows(0)("ETA")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pETF", CDate(tDetalle.Rows(0)("ETF")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pcapitan", tDetalle.Rows(0)("capitan").ToString)
      reporte.SetParameterValue("ptipo_Buque", tDetalle.Rows(0)("tipo_Buque").ToString)
      reporte.SetParameterValue("ptipo_Carga", tDetalle.Rows(0)("tipo_Carga").ToString)
      reporte.SetParameterValue("pcodigo_Pbip", tDetalle.Rows(0)("codigo_Pbip").ToString)
      reporte.SetParameterValue("pcolor_Casco", tDetalle.Rows(0)("color_Casco").ToString)
      reporte.SetParameterValue("ppuerto_Procedencia", tDetalle.Rows(0)("puerto_Procedencia").ToString)
      reporte.SetParameterValue("ppuerto_Destino", tDetalle.Rows(0)("puerto_Destino").ToString)
      reporte.SetParameterValue("pETD", CDate(tDetalle.Rows(0)("ETD")).ToString("dd/MM/yyyy HH:mm:ss"))
      reporte.SetParameterValue("pjustificacion", tDetalle.Rows(0)("justificacion").ToString)
      reporte.SetParameterValue("pobservaciones", tDetalle.Rows(0)("observaciones").ToString)
      reporte.SetParameterValue("pservicio", tDetalle.Rows(0)("servicio").ToString)
      reporte.SetParameterValue("ppago", tDetalle.Rows(0)("pago").ToString)
      reporte.SetParameterValue("ppuerto_Reg", tDetalle.Rows(0)("puerto_Reg").ToString)
      reporte.SetParameterValue("pcodigo_Llamada", tDetalle.Rows(0)("codigo_Llamada").ToString)
      reporte.SetParameterValue("pnum_Oficial", tDetalle.Rows(0)("num_Oficial").ToString)
      reporte.SetParameterValue("pnum_OMI", tDetalle.Rows(0)("num_OMI").ToString)
      reporte.SetParameterValue("pcolocacion_Quilla", tDetalle.Rows(0)("colocacion_Quilla").ToString)
      reporte.SetParameterValue("ppuesto_Marcha", tDetalle.Rows(0)("puesto_Marcha").ToString)
      reporte.SetParameterValue("pTRB", tDetalle.Rows(0)("TRB").ToString)
      reporte.SetParameterValue("pTRN", tDetalle.Rows(0)("TRN").ToString)
      reporte.SetParameterValue("pconstructores", tDetalle.Rows(0)("constructores").ToString)
      reporte.SetParameterValue("pclase", tDetalle.Rows(0)("clase").ToString)
      reporte.SetParameterValue("pmotor", tDetalle.Rows(0)("motor").ToString)
      reporte.SetParameterValue("ppropietarios", tDetalle.Rows(0)("propietarios").ToString)
      reporte.SetParameterValue("poperador", tDetalle.Rows(0)("operador").ToString)
      reporte.SetParameterValue("ppuntal", tDetalle.Rows(0)("puntal").ToString)
      reporte.SetParameterValue("peslora_Total", tDetalle.Rows(0)("eslora_Total").ToString)
      reporte.SetParameterValue("peslora_Perpendiculares", tDetalle.Rows(0)("eslora_Perpendiculares").ToString)
      reporte.SetParameterValue("paltura", tDetalle.Rows(0)("altura").ToString)
      reporte.SetParameterValue("pluz", tDetalle.Rows(0)("luz").ToString)
      reporte.SetParameterValue("pmanga", tDetalle.Rows(0)("manga").ToString)
      reporte.SetParameterValue("ppeso_Muerto", tDetalle.Rows(0)("peso_Muerto").ToString)
      reporte.SetParameterValue("pcalado_Construccion", tDetalle.Rows(0)("calado_Construccion").ToString)
      
      

      'Datos Anexos
      Dim anexos As String = ""
      Dim tipos As String = ""
      For i As Integer = 0 To tAnexos.Rows.Count - 1
        anexos += tAnexos.Rows(i)("NOMBRE") + Chr(13)
        tipos += tAnexos.Rows(i)("TIPO") + Chr(13)
      Next
      reporte.SetParameterValue("pAnexos", anexos)
      reporte.SetParameterValue("pAnexoTipo", tipos)

      'Datos Incidencias
      Dim fecha As String = ""
      Dim descripcion As String = ""
      Dim emisor As String = ""
      For i As Integer = 0 To tIncidencias.Rows.Count - 1
        fecha += CDate(tIncidencias.Rows(i)("FECHAEMISION")).ToString("dd/MM/yyyy hh:mm:ss") + Chr(13)
        descripcion += tIncidencias.Rows(i)("DESCRIPCION") + Chr(13)
        emisor += tIncidencias.Rows(i)("NOMBRE") + Chr(13)
      Next
      reporte.SetParameterValue("pFechaIncidencia", fecha)
      reporte.SetParameterValue("pDescripcionIncidencia", descripcion)
      reporte.SetParameterValue("pEmisorIncidencia", emisor)


      'Cargar informacion de firma electronica
      Dim consultaFirmas As New DataAccesGenerales()
      Dim firmas As New DataTable("CasetaFirmas")
      firmas = consultaFirmas.consultarFirmas(CInt(Request.QueryString("nidDocumento")))
      Dim cadenaFirmas As String = String.Empty
      For Each datoFirma In firmas.Rows
        cadenaFirmas = cadenaFirmas & datoFirma("Firma").ToString() & " "+ Chr(13)
      Next
      reporte.SetParameterValue("pFirma", cadenaFirmas)

      'crvCapt_PermisoFondeo.ParameterFieldInfo.Clear()
      Me.crvCapt_PermisoFondeo.HasExportButton = False
      Me.crvCapt_PermisoFondeo.HasToggleGroupTreeButton = False
      Me.crvCapt_PermisoFondeo.EnableParameterPrompt = False
      'Me.crvCapt_PermisoFondeo.ParameterFieldInfo = False
      Me.crvCapt_PermisoFondeo.ReportSource = reporte

    Catch ex As Exception
      lblMensaje.Text = "Error al Cargar reporte: " + ex.Message
    End Try
  End Sub

End Class
